package com.winhxd.b2c.common.domain.customer.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@ApiModel("物流信息返回vo")
public class CustomerLogisticsVO {
    @ApiModelProperty("用户 ID")
    @JsonProperty(value = "EBusinessID")
    private String eBusinessID;

    @ApiModelProperty("订单编号")
    @JsonProperty(value = "OrderCode")
    private String orderCode;

    @ApiModelProperty("快递公司编码")
    @JsonProperty(value = "ShipperCode")
    private String shipperCode;

    @ApiModelProperty("快递单号")
    @JsonProperty(value = "LogisticCode")
    private String logisticCode;

    @ApiModelProperty("成功与否(true/false)")
    @JsonProperty(value = "Success")
    private Boolean success;

    @ApiModelProperty("失败原因")
    @JsonProperty(value = "Reason")
    private String reason;

    @ApiModelProperty("物流状态 0-无轨迹,1-已揽收,2-在途中,3-签收,4-问题件")
    @JsonProperty(value = "State")
    private String state;

    @ApiModelProperty("轨迹列表")
    @JsonProperty(value = "Traces")
    private List<TracesVo> traces;

    @Data
    @ApiModel("轨迹返回vo")
    public static class TracesVo{

        @ApiModelProperty("轨迹发生时间")
        @JsonProperty(value = "AcceptTime")
        private Date acceptTime;

        @ApiModelProperty("轨迹描述")
        @JsonProperty(value = "AcceptStation")
        private String acceptStation;

        @ApiModelProperty("备注")
        @JsonProperty(value = "Remark")
        private String remark;

    }
}